0.1 By Month

0.2 CCAMLR Units

0.3 Distance

0.4 Time

0.5 Velocity

0.6 Angles

1 Correlated random walk

Process Model

\[ d_{t} \sim T*d_{t-1} + Normal(0,\Sigma)\] \[ x_t = x_{t-1} + d_{t} \]

1.1 Parameters

For each individual:

\[\theta = \text{Mean turning angle}\] \[\gamma = \text{Move persistence} \]

For both behaviors process variance is: \[ \sigma_{latitude} = 0.1\] \[ \sigma_{longitude} = 0.1\]

1.2 Behavioral States

\[ \text{For each individual i}\] \[ Behavior_1 = \text{traveling}\] \[ Behavior_2 = \text{foraging}\]

\[ \alpha_{i,1,1} = \text{Probability of remaining traveling when traveling}\] \[\alpha_{i,2,1} = \text{Probability of switching from Foraging to traveling}\]

\[\begin{matrix} \alpha_{i,1,1} & 1-\alpha_{i,1,1} \\ \alpha_{i,2,1} & 1-\alpha_{i,2,1} \\ \end{matrix}\]

With the probability of switching states:

\[logit(\phi_{traveling}) = \alpha_{Behavior_{t-1}}\]

\[\phi_{foraging} = 1 - \phi_{traveling} \]

1.3 Continious tracks

The transmitter will often go dark for 10 to 12 hours, due to weather, right in the middle of an otherwise good track. The model requires regular intervals to estimate the turning angles and temporal autocorrelation. As a track hits one of these walls, call it the end of a track, and begin a new track once the weather improves. We can remove any micro-tracks that are less than three days. Specify a duration, calculate the number of tracks and the number of removed points. Iteratively.

How did the filter change the extent of tracks?

Look at the observations were defined into tracks.

sink(“Bayesian/Multi_RW.jags”) cat(" model{

#Constants
pi <- 3.141592653589

##argos observation error##
argos_prec[1:2,1:2] <- inverse(argos_sigma*argos_cov[,])

#Constructing the covariance matrix
argos_cov[1,1] <- 1
argos_cov[1,2] <- sqrt(argos_alpha) * rho
argos_cov[2,1] <- sqrt(argos_alpha) * rho
argos_cov[2,2] <- argos_alpha

for(i in 1:ind){
for(g in 1:tracks[i]){

## Priors for first true location
#for lat long
y[i,g,1,1:2] ~ dmnorm(argos[i,g,1,1,1:2],argos_prec)

#First movement - random walk.
y[i,g,2,1:2] ~ dmnorm(y[i,g,1,1:2],iSigma)

###First Behavioral State###
state[i,g,1] ~ dcat(lambda[]) ## assign state for first obs

#Process Model for movement
for(t in 2:(steps[i,g]-1)){

#Behavioral State at time T
phi[i,g,t,1] <- alpha_mu[state[i,g,t-1]] 
phi[i,g,t,2] <- 1-phi[i,g,t,1]
state[i,g,t] ~ dcat(phi[i,g,t,])

#Turning covariate
#Transition Matrix for turning angles
T[i,g,t,1,1] <- cos(theta[state[i,g,t]])
T[i,g,t,1,2] <- (-sin(theta[state[i,g,t]]))
T[i,g,t,2,1] <- sin(theta[state[i,g,t]])
T[i,g,t,2,2] <- cos(theta[state[i,g,t]])

#Correlation in movement change
d[i,g,t,1:2] <- y[i,g,t,] + gamma[state[i,g,t]] * T[i,g,t,,] %*% (y[i,g,t,1:2] - y[i,g,t-1,1:2])

#Gaussian Displacement
y[i,g,t+1,1:2] ~ dmnorm(d[i,g,t,1:2],iSigma)
}

#Final behavior state
phi[i,g,steps[i,g],1] <- alpha_mu[state[i,g,steps[i,g]-1]] 
phi[i,g,steps[i,g],2] <- 1-phi[i,g,steps[i,g],1]
state[i,g,steps[i,g]] ~ dcat(phi[i,g,steps[i,g],])

##  Measurement equation - irregular observations
# loops over regular time intervals (t)    

for(t in 2:steps[i,g]){

# loops over observed locations within interval t
for(u in 1:idx[i,g,t]){ 
zhat[i,g,t,u,1:2] <- (1-j[i,g,t,u]) * y[i,g,t-1,1:2] + j[i,g,t,u] * y[i,g,t,1:2]

#for each lat and long
#argos error
argos[i,g,t,u,1:2] ~ dmnorm(zhat[i,g,t,u,1:2],argos_prec)
}
}
}
}
###Priors###

#Process Variance
iSigma ~ dwish(R,2)
Sigma <- inverse(iSigma)

##Mean Angle
tmp[1] ~ dbeta(10, 10)
tmp[2] ~ dbeta(10, 10)

# prior for theta in 'traveling state'
theta[1] <- (2 * tmp[1] - 1) * pi

# prior for theta in 'foraging state'    
theta[2] <- (tmp[2] * pi * 2)

##Move persistance
# prior for gamma (autocorrelation parameter)
#from jonsen 2016

##Behavioral States

gamma[1] ~ dbeta(3,2)       ## gamma for state 1
dev ~ dbeta(1,1)            ## a random deviate to ensure that gamma[1] > gamma[2]
gamma[2] <- gamma[1] * dev

#Intercepts
alpha_mu[1] ~ dbeta(1,1)
alpha_mu[2] ~ dbeta(1,1)

#Probability of behavior switching 
lambda[1] ~ dbeta(1,1)
lambda[2] <- 1 - lambda[1]

##Argos priors##
#longitudinal argos error
argos_sigma ~ dunif(0,10)

#latitidunal argos error
argos_alpha~dunif(0,10)

#correlation in argos error
rho ~ dunif(-1, 1)


}"
,fill=TRUE)

sink()

##      user    system   elapsed 
##   470.616     6.648 78503.867

1.4 Chains

##                         Type       Size    PrettySize  Rows Columns
## jagM          rjags.parallel 3180217112    [1] "3 Gb"     6      NA
## data                    list   61113336 [1] "58.3 Mb"     9      NA
## argos                  array   39720952 [1] "37.9 Mb"    33      20
## obs                    array   39720952 [1] "37.9 Mb"    33      20
## j                      array   19867968 [1] "18.9 Mb"    33      20
## b     SpatialPointsDataFrame   16418080 [1] "15.7 Mb" 46421      47
## mdat              data.frame   16339200 [1] "15.6 Mb" 49859      47
## m                      ggmap   13116240 [1] "12.5 Mb"  1280    1280
## d     SpatialPointsDataFrame   12825928 [1] "12.2 Mb" 46421      47
## oxy               data.frame   12080104 [1] "11.5 Mb" 46421      47
##             used   (Mb) gc trigger   (Mb)  max used   (Mb)
## Ncells   1787004   95.5    3886542  207.6   3886542  207.6
## Vcells 445620039 3399.9 1016841010 7757.9 877735132 6696.6

Look at the convergence of phi, just for an example

Overall relationship between phi and state, nice test of convergence.

1.4.1 Compare to priors

1.5 Parameter Summary

##   parameter         par        mean       lower      upper
## 1  alpha_mu alpha_mu[1]  0.53525611  0.46232512 0.60860130
## 2  alpha_mu alpha_mu[2]  0.14592664  0.10773869 0.19289520
## 3     gamma    gamma[1]  0.92465146  0.87442694 0.97070532
## 4     gamma    gamma[2]  0.15682682  0.11400094 0.19948345
## 5     theta    theta[1] -0.01457927 -0.04076998 0.01156162
## 6     theta    theta[2]  0.24227712  0.14759083 0.35587027

2 Behavioral Prediction

Relationship between phi and state

2.1 Spatial Prediction

2.2 By individual

Overlay phi and state

2.3 Compared to CMLRR regions

2.4 Autocorrelation in behavior

2.5 Location of Behavior

3 Overlap with Krill Fishery

4 Time spent in grid cell

4.1 ARS

##                         Type      Size     PrettySize     Rows Columns
## pc                    tbl_df 598231464 [1] "570.5 Mb" 11490000      10
## a                     tbl_df 157774144 [1] "150.5 Mb"  3944000       7
## data                    list  61113336  [1] "58.3 Mb"        9      NA
## argos                  array  39720952  [1] "37.9 Mb"       33      20
## obs                    array  39720952  [1] "37.9 Mb"       33      20
## j                      array  19867968  [1] "18.9 Mb"       33      20
## b     SpatialPointsDataFrame  16418080  [1] "15.7 Mb"    46421      47
## mdat              data.frame  16339200  [1] "15.6 Mb"    49859      47
## temp                   ggmap  13116528  [1] "12.5 Mb"     1280    1280
## d     SpatialPointsDataFrame  12825928  [1] "12.2 Mb"    46421      47
##             used  (Mb) gc trigger   (Mb)   max used   (Mb)
## Ncells   1648930  88.1    5103933  272.6    9968622  532.4
## Vcells 119714036 913.4  333198460 2542.2 1009712613 7703.5